\hypertarget{structnih_1_1_octree__node}{
\section{nih\-:\-:\-Octree\-\_\-node \-Struct \-Reference}
\label{structnih_1_1_octree__node}\index{nih\-::\-Octree\-\_\-node@{nih\-::\-Octree\-\_\-node}}
}


{\ttfamily \#include $<$octree.\-h$>$}

\subsection*{\-Public \-Member \-Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{structnih_1_1_octree__node_a8eb0db3f5475fe4e855c89cd97222253}{
\-N\-I\-H\-\_\-\-H\-O\-S\-T\-\_\-\-D\-E\-V\-I\-C\-E \hyperlink{structnih_1_1_octree__node_a8eb0db3f5475fe4e855c89cd97222253}{\-Octree\-\_\-node} ()}
\label{structnih_1_1_octree__node_a8eb0db3f5475fe4e855c89cd97222253}

\begin{DoxyCompactList}\small\item\em empty constructor \end{DoxyCompactList}\item 
\hypertarget{structnih_1_1_octree__node_a99fdb975ef1645f57b20ac00822ecae3}{
\-N\-I\-H\-\_\-\-H\-O\-S\-T\-\_\-\-D\-E\-V\-I\-C\-E \hyperlink{structnih_1_1_octree__node_a99fdb975ef1645f57b20ac00822ecae3}{\-Octree\-\_\-node} (const uint32 leaf\-\_\-index)}
\label{structnih_1_1_octree__node_a99fdb975ef1645f57b20ac00822ecae3}

\begin{DoxyCompactList}\small\item\em leaf constructor \end{DoxyCompactList}\item 
\hypertarget{structnih_1_1_octree__node_a3692eefc5cc04f918dcc5a4c53ce2cbb}{
\-N\-I\-H\-\_\-\-H\-O\-S\-T\-\_\-\-D\-E\-V\-I\-C\-E \hyperlink{structnih_1_1_octree__node_a3692eefc5cc04f918dcc5a4c53ce2cbb}{\-Octree\-\_\-node} (const uint32 mask, const uint32 index)}
\label{structnih_1_1_octree__node_a3692eefc5cc04f918dcc5a4c53ce2cbb}

\begin{DoxyCompactList}\small\item\em full constructor \end{DoxyCompactList}\item 
\hypertarget{structnih_1_1_octree__node_aebdbb5f22beabffe0b775d568518aab1}{
\-N\-I\-H\-\_\-\-H\-O\-S\-T\-\_\-\-D\-E\-V\-I\-C\-E bool \hyperlink{structnih_1_1_octree__node_aebdbb5f22beabffe0b775d568518aab1}{is\-\_\-leaf} () const }
\label{structnih_1_1_octree__node_aebdbb5f22beabffe0b775d568518aab1}

\begin{DoxyCompactList}\small\item\em is a leaf? \end{DoxyCompactList}\item 
\hypertarget{structnih_1_1_octree__node_ab69e1a993781d79bf7cc8fb83d52d47d}{
\-N\-I\-H\-\_\-\-H\-O\-S\-T\-\_\-\-D\-E\-V\-I\-C\-E void \hyperlink{structnih_1_1_octree__node_ab69e1a993781d79bf7cc8fb83d52d47d}{set\-\_\-child\-\_\-mask} (const uint32 mask)}
\label{structnih_1_1_octree__node_ab69e1a993781d79bf7cc8fb83d52d47d}

\begin{DoxyCompactList}\small\item\em set the 8-\/bit mask of active children \end{DoxyCompactList}\item 
\hypertarget{structnih_1_1_octree__node_adaa2c13b9e0ffc867fc3d29c51cf2c8c}{
\-N\-I\-H\-\_\-\-H\-O\-S\-T\-\_\-\-D\-E\-V\-I\-C\-E uint32 \hyperlink{structnih_1_1_octree__node_adaa2c13b9e0ffc867fc3d29c51cf2c8c}{get\-\_\-child\-\_\-mask} () const }
\label{structnih_1_1_octree__node_adaa2c13b9e0ffc867fc3d29c51cf2c8c}

\begin{DoxyCompactList}\small\item\em get the 8-\/bit mask of active children \end{DoxyCompactList}\item 
\hypertarget{structnih_1_1_octree__node_aaeea10ec3cc2c68d7ae4f152e5846385}{
\-N\-I\-H\-\_\-\-H\-O\-S\-T\-\_\-\-D\-E\-V\-I\-C\-E bool \hyperlink{structnih_1_1_octree__node_aaeea10ec3cc2c68d7ae4f152e5846385}{has\-\_\-child} (const uint32 i) const }
\label{structnih_1_1_octree__node_aaeea10ec3cc2c68d7ae4f152e5846385}

\begin{DoxyCompactList}\small\item\em check whether the i-\/th child exists \end{DoxyCompactList}\item 
\hypertarget{structnih_1_1_octree__node_aad609d0cf52db7d27659e4c774e8fca6}{
\-N\-I\-H\-\_\-\-H\-O\-S\-T\-\_\-\-D\-E\-V\-I\-C\-E void \hyperlink{structnih_1_1_octree__node_aad609d0cf52db7d27659e4c774e8fca6}{set\-\_\-child\-\_\-offset} (const uint32 child)}
\label{structnih_1_1_octree__node_aad609d0cf52db7d27659e4c774e8fca6}

\begin{DoxyCompactList}\small\item\em set the offset to the first child \end{DoxyCompactList}\item 
\hypertarget{structnih_1_1_octree__node_aa3810224603c4ed2b1a3ea781bb8c802}{
\-N\-I\-H\-\_\-\-H\-O\-S\-T\-\_\-\-D\-E\-V\-I\-C\-E uint32 \hyperlink{structnih_1_1_octree__node_aa3810224603c4ed2b1a3ea781bb8c802}{get\-\_\-child\-\_\-offset} () const }
\label{structnih_1_1_octree__node_aa3810224603c4ed2b1a3ea781bb8c802}

\begin{DoxyCompactList}\small\item\em get the offset to the first child \end{DoxyCompactList}\item 
\hypertarget{structnih_1_1_octree__node_a961347c5105eea36e54f180cb07d0ceb}{
\-N\-I\-H\-\_\-\-H\-O\-S\-T\-\_\-\-D\-E\-V\-I\-C\-E uint32 \hyperlink{structnih_1_1_octree__node_a961347c5105eea36e54f180cb07d0ceb}{get\-\_\-leaf\-\_\-index} () const }
\label{structnih_1_1_octree__node_a961347c5105eea36e54f180cb07d0ceb}

\begin{DoxyCompactList}\small\item\em get leaf index \end{DoxyCompactList}\item 
\hypertarget{structnih_1_1_octree__node_aaa91c8f56a78a8b4d137c1edc5ae41f9}{
\-N\-I\-H\-\_\-\-H\-O\-S\-T\-\_\-\-D\-E\-V\-I\-C\-E uint32 \hyperlink{structnih_1_1_octree__node_aaa91c8f56a78a8b4d137c1edc5ae41f9}{get\-\_\-child\-\_\-count} () const }
\label{structnih_1_1_octree__node_aaa91c8f56a78a8b4d137c1edc5ae41f9}

\begin{DoxyCompactList}\small\item\em return the number of children \end{DoxyCompactList}\item 
\hypertarget{structnih_1_1_octree__node_a5787f84f0e9f800c99f21f26dbe1f206}{
\-N\-I\-H\-\_\-\-H\-O\-S\-T\-\_\-\-D\-E\-V\-I\-C\-E uint32 \hyperlink{structnih_1_1_octree__node_a5787f84f0e9f800c99f21f26dbe1f206}{get\-\_\-child} (const uint32 i) const }
\label{structnih_1_1_octree__node_a5787f84f0e9f800c99f21f26dbe1f206}

\begin{DoxyCompactList}\small\item\em get the index of the i-\/th child (among the active ones) \end{DoxyCompactList}\item 
\hypertarget{structnih_1_1_octree__node_a3a77af009319153a66aacc6a3269a7e4}{
\-N\-I\-H\-\_\-\-H\-O\-S\-T\-\_\-\-D\-E\-V\-I\-C\-E uint32 \hyperlink{structnih_1_1_octree__node_a3a77af009319153a66aacc6a3269a7e4}{get\-\_\-octant} (const uint32 i) const }
\label{structnih_1_1_octree__node_a3a77af009319153a66aacc6a3269a7e4}

\begin{DoxyCompactList}\small\item\em get the index of the i-\/th octant. returns k\-Invalid for non-\/active children. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{\-Public \-Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{structnih_1_1_octree__node_adb5dd3768d479000e839e9848c66ad61}{
uint32 {\bfseries m\-\_\-packed\-\_\-info}}
\label{structnih_1_1_octree__node_adb5dd3768d479000e839e9848c66ad61}

\end{DoxyCompactItemize}
\subsection*{\-Static \-Public \-Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{structnih_1_1_octree__node_a494589b13a167062892181937e2203c4}{
static const uint32 {\bfseries k\-Invalid} = uint32(-\/1)}
\label{structnih_1_1_octree__node_a494589b13a167062892181937e2203c4}

\end{DoxyCompactItemize}


\subsection{\-Detailed \-Description}
\-Implements a basic octree node class, which stores up to 8 children per node, and uses a bit-\/mask to determine which of the 8 slots is actualy in use. \-The active children are stored consecutively relative to a base offset. 

\-The documentation for this struct was generated from the following files\-:\begin{DoxyCompactItemize}
\item 
octree/\hyperlink{octree_8h}{octree.\-h}\item 
octree/octree\-\_\-inline.\-h\end{DoxyCompactItemize}
